<p>热修复服务端接口</p>

<hr/>

<h3> 功能图示</h3>

<p>```
sequenceDiagram</p>

<p>CMS-&gt;&gt;Server: 上传补丁
Server-&gt;&gt;CMS: 补丁信息</p>

<p>Client-&gt;&gt;Server: 查询有无可用补丁
Server-&gt;&gt;Client: 下发补丁下载地址</p>

<p>```</p>

<hr/>

<h3> 补丁下载</h3>

<p><strong>按条件查询并获取最新补丁.</strong></p>

<p>输入参数(*号为必须)
|字段 | 说明|类型|
|---|---|---|
|timestamp | 毫秒时间戳(*)|long|
|version | 客户端补丁版本号|int|
|channel | 渠道,默认为null|String|
|packagename | 包名,默认为null|String|</p>

<p>输出参数(*号为必须)</p>

<p>|字段 | 说明|类型|
|---|---|---|
|url | 下载链接全路径含http://(*)|String|
|version | 版本号|int|
|check | 检验码,MD5 String(32)(*)|String|
|result | 接口调用结果,默认为null,查询失败则返回错误信息|String|</p>

<p>检验码生成公式checkcode = MD5(timestamp+MD5(file))</p>

<hr/>

<h3> 日志上报</h3>

<p><strong>上传日志文件(http post form),保存异常场景信息</strong></p>

<p>输入参数(*号为必须)
|字段 | 说明|类型|
|---|---|---|
|file |日志文件(UTF-8无bom文本)|file|
|os | 系统版本信息|String|
|device | 设备信息|String|
|ext | 异常信息(Exception.getMessage())|String|
|patchinfo | 补丁信息(下载链接等)|String|</p>

<p>输出参数(*号为必须)</p>

<p>|字段 | 说明|类型|
|---|---|---|
|result | 接口调用结果,默认为null,查询失败则返回错误信息|String|</p>

<hr/>

<h3> 补丁上传</h3>

<p><strong>上传补丁文件(http post form),提供给客户端下载</strong></p>

<p>输入参数(*号为必须)
|字段 | 说明|类型|
|---|---|---|
|file|apk文件(*)|file|
|version|版本号(*)  |String|
|channel | 渠道|String|
|packagename | 包名|String|
|descrbe | 文件描述信息(*)|String|</p>

<p>输出参数(*号为必须)</p>

<p>|字段 | 说明|类型|
|---|---|---|
|result | 接口调用结果,默认为null,查询失败则返回错误信息|String|
---</p>

<p>l</p>
